let notesList = document.getElementById("note-list");//更新显示用户添加的笔记
let noteInput = document.getElementById("note-input");//获取用户输入的新笔记内容
let notes = [];
let backgrounds = ["1.jpg", "2.jpg", "3.jpg"]; 
let originNotes = []; // 保存原始笔记列表
//增加内容
function addNote() {
  let noteText = noteInput.value.trim();//trim用于除去首尾空格
  //"!=="比较值和类型,但是"!="只比较值
  if (noteText !== "") {
    notes.push(noteText);
    renderNotes();
    noteInput.value = "";//清空输入框内容
  }
  else{
    alert("请输入内容");
  }
}
//显示内容,也可以叫做渲染：渲染笔记列表是将笔记数据转换为可视化的笔记列表，并将其显示在用户界面上的过程。
function renderNotes(filteredNotes) {
  notesList.innerHTML = ""; //用于在更新或重新渲染笔记列表之前清除列表内容
  let notesToRender = filteredNotes || notes;
  for (let i = 0; i < notesToRender.length; i++) {
      let noteElement = document.createElement("div");
      noteElement.className = "note";
      noteElement.textContent = `${i + 1}. ${notesToRender[i]}`; // 添加序号
      noteElement.ondblclick = (function (index) {
          return function () {
              deleteNote(index);
          };
      })(i);
      notesList.appendChild(noteElement);//将 noteElement 添加到notesList 的父元素中
  }
}

//删除笔记
function deleteNote(index) {
  notes.splice(index, 1);//splice() 方法从 notes 数组中删除指定索引位置的笔记。
  renderNotes();
}

//清空笔记
function clearNote() {
  if (window.confirm ('你确定删除？ ')) 
  { 
    // alert ("确定"); 
  notes = [];
  renderNotes();
  return true;
} 
   else
    { 
      // alert ("取消");
     return false;
     }
  
}

// 逆序笔记
function reverseNote() {
  notes.reverse();//reverse()逆序排列 notes 数组中的笔记
  renderNotes();
}

// 更换背景
function changeBackground() {
  let randomIndex = Math.floor(Math.random() * backgrounds.length);//0到backgrounds.length-1
  let randomBackground = backgrounds[randomIndex];
  document.getElementById("background-style").innerText = `body { background-image: url(./img/${randomBackground}); }`;
  //innerText获取或设置元素的文本内容，不包括 HTML 标签
}
// 搜索笔记
function serNote() {
  let searchTerm = noteInput.value.trim().toLowerCase();
  let filteredNotes = notes.filter(note => note.toLowerCase().includes(searchTerm));
  if (filteredNotes.length > 0) {
      renderNotes(filteredNotes);
      document.getElementById("back-button").style.display = "block";
      originNotes = notes.slice(); // 保存原始笔记列表
      notes = filteredNotes.slice(); // 更新笔记列表为搜索结果
  } else {
      alert("没有找到符合条件的笔记");
  }
}

// 返回原始笔记列表
function goBack() {
  notes = originNotes.slice(); // 恢复原始笔记列表
  renderNotes();
  document.getElementById("back-button").style.display = "none"; // 隐藏返回按钮
}